In wireless mesh data networks, it is frequently necessary for one or more controllers to obtain and consolidate data from active nodes in the network on a regular basis for accounting, control or alarm purposes. In electric meter networks, network wide data acquisition is typically completed every fifteen (15) minutes. For battery powered applications such as the monitoring of residential water meters, the polling interval is more infrequent, for example once per day. Other applications such as monitoring sensors in a building or along a pipeline might require data transfers to occur within a few seconds or a few minutes of an event depending upon the criticality of the event and time sensitivity of the parameters which are being monitored.
Many wireless sensor networks make use of meshed network topologies. This reduces dependence on third party networks such as cellular infrastructure. When cellular, wire or fiber backhaul is required either due to physical typology or overall network size, it is desirable to minimize the number of interfaces which are required to one or more external networks.
Existing meshed networking protocols, such as supported by 802.15.4, rely on route discovery followed by individual node polling by one or more controllers. In large multi-hop networks, even after route discovery has been completed, it can still require a second or more to poll and retrieve data from individual nodes if they are enough hops away from the network controller. Node to node forwarding of individual messages makes inefficient use of the available capacity of the network and therefore restricts the number of nodes which can be polled in a timely fashion sharing a single shared radio channel.
Data collection in meshed wireless networks is generally done using Hop by Hop transport through the network using pre-discovered routes as found by the networking protocol being employed. For example, Zigbee is a common protocol used for energy monitoring applications. In metering implementations, a central hub typically polls individual nodes on a periodic basis for their data. Routing is done using per node routing tables where data is forwarded on an individual packet basis from a node to the requesting hub.
The use of Linear Network Coding in metering applications enables data from multiple devices being polled in a given time interval to aggregate at each node along their path, and to then move in aggregate from the distant edges of a wireless network to one or more controllers. Traffic is highly tolerant to link errors in that if a previously used path is no longer available, as long as one or more alternative nodes can properly receive and aggregate the data they receive with their own data, then all of the data will ultimately reach the designated controller(s).
Linear Network Coding does add new complexities into polled networks. The purpose of this invention is to resolve these complexities for large networks, and also to increase the number of nodes which can be supported in a given time interval. One complication is that the header of each packet must explicitly contain the coefficients for all of the linearly combined source packets it contains. This is necessary so that the original data from any given node can be decoded into its original source form, when done in combination with an appropriate number of linearly independent packets. The controller must not only receive the individual coefficients, but also must be able to uniquely identify the node whose data is multiplied by any given coefficient. Most radio networks have constraints on their maximum allowed packet sizes. For example, 802.15.4 wireless networks only allow up to 127 payload bytes per packet. This limits the number of nodes which can be aggregated together into a single packet.
Therefore, there is a need to overcome the above described limitations of existing network protocols such as Zigbee and Network Coding and enable a wireless mesh network system and protocol which is capable of more rapid polling and retrieval of data even in networks with larger numbers of wireless nodes.